-
Notifications
You must be signed in to change notification settings - Fork 5
feat: libevm/triedb/firewood
scaffolding with proposal propagation
#237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
More questions than recommendations
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser | ||
// General Public License for more details. | ||
// | ||
// You should have received a copy of the GNU Lesser General Public License |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this the correct license for our firewood code?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Once we resolve the licensing concern, looks good to me
Why this should be merged
Preparatory work for support of Firewood as a
triedb.DBOverride
.How this works
trienode
package haspseudo
payloads added to nodes and sets, with hooks to allow the payloads to be propagated along with set mergers.NodeSet
andMergedNodeSet
payloads are used to propagate Firewood proposal handles fromTrie.Commit()
through totriedb.BackendDB.Update()
, along with GC management to free Rust-owned proposals. THe handles are currently only dummies, used as plumbing.How this was tested
Integration tests of both (1) and (2). The
firewood
tests exercise the entire stack fromstate.StateDB
down totriedb
backend implementation (which will be Firewood).